package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 会员签到记录实体类，用于记录会员的签到详情，包括赠送的币种和数量。
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "member_sign_record")
public class MemberSignRecord {

    /**
     * 记录ID，主键，自动生成的唯一标识。
     */
    @ApiModelProperty(value = "记录ID", example = "1")
    private Long id;

    /**
     * 会员，与该签到记录关联的会员信息。
     */
    @ApiModelProperty(value = "会员", hidden = true)
    private Member member;

    /**
     * 签到活动，与该签到记录关联的签到活动信息。
     */
    @ApiModelProperty(value = "签到活动", hidden = true)
    private Sign sign;

    /**
     * 赠送币种，签到活动赠送的币种信息。
     */
    @ApiModelProperty(value = "赠送币种", hidden = true)
    private Coin coin;

    /**
     * 赠送数目，签到活动赠送的币种数量。
     */
    @ApiModelProperty(value = "赠送数目", example = "100.00")
    private BigDecimal amount;

    /**
     * 创建时间，记录创建的时间戳。
     */
    @ApiModelProperty(value = "创建时间", example = "2023-01-01 12:00:00")
    private LocalDateTime creationTime;
}

